// Mogry
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 DirLightColors;
//   float4 DirLightDirections;
//   float4 FirstLightFlag;
//   sampler2D _sampler_01;
//   sampler2D _sampler_diffuseColor;
//   sampler2D _sampler_shininess;
//   sampler2D _sampler_specularColor;
//   float albedo;
//   float3 ambientColor;
//   float3 ambientLightColor;
//   float backLightEdge;
//   float colorLimit;
//   samplerCUBE cubeReflectMap;
//   float drawEnvBlendRatio;
//   samplerCUBE drawEnvCubeBlurMap;
//   samplerCUBE drawEnvCubeMap;
//   sampler2D edgeControlFuzzColorMap;
//   float3 envMapColor;
//   float4 externalEdgeControlColor;
//   float externalReflectMapScale;
//   float4 fogColor;
//   float fresnelBias;
//   float fresnelInvDiffBias;
//   sampler2D fuzzColorMap;
//   float fuzzPower;
//   float3 grace00;
//   float3 grace10;
//   float3 grace11;
//   float3 grace1_1;
//   float3 grace20;
//   float3 grace21;
//   float3 grace22;
//   float3 grace2_1;
//   float3 grace2_2;
//   float3 latitudeParam;
//   sampler2D lightToneMap;
//   float4 modulateColor;
//   samplerCUBE reflectBlurMap;
//   float reflectBlurMask;
//   float3 reflectScale;
//   float reverseRatio;
//   float4 rootPos;
//   float3 scatterColor;
//   float4 shadowColor;
//   float4 shadowFadeParam;
//   sampler2D shadowMap;
//   float4 shadowOffset0[4];
//   float4 shadowOffset1[4];
//   float4 shadowProjMatrix0[4];
//   float4 shadowProjMatrix1[4];
//   float4 shadowProjMatrix2[4];
//   float4 shadowProjMatrix3[4];
//   float4 shadowSplitRange;
//   float4 snowDiffuseUVScale;
//   float specluarMaskingShadow;
//   float4 weatherFactorRatio;
//   float4 weatherOffset;
//   sampler2D weatherSnowDiffuseSampler00;
//
//
// Registers:
//
//   Name                        Reg   Size
//   --------------------------- ----- ----
//   shadowOffset0               c21      4
//   shadowOffset1               c25      4
//   shadowProjMatrix0           c29      2
//   shadowProjMatrix1           c31      2
//   shadowProjMatrix2           c33      2
//   shadowProjMatrix3           c35      2
//   ambientLightColor           c37      1
//   FirstLightFlag              c38      1
//   DirLightDirections          c39      1
//   DirLightColors              c40      1
//   fuzzPower                   c41      1
//   backLightEdge               c42      1
//   scatterColor                c43      1
//   reverseRatio                c44      1
//   envMapColor                 c45      1
//   grace00                     c46      1
//   grace1_1                    c47      1
//   grace10                     c48      1
//   grace11                     c49      1
//   grace2_2                    c50      1
//   grace2_1                    c51      1
//   grace20                     c52      1
//   grace21                     c53      1
//   grace22                     c54      1
//   shadowFadeParam             c55      1
//   shadowSplitRange            c56      1
//   shadowColor                 c57      1
//   rootPos                     c58      1
//   latitudeParam               c59      1
//   ambientColor                c60      1
//   specluarMaskingShadow       c61      1
//   fogColor                    c62      1
//   reflectBlurMask             c63      1
//   drawEnvBlendRatio           c64      1
//   reflectScale                c65      1
//   fresnelBias                 c66      1
//   fresnelInvDiffBias          c67      1
//   colorLimit                  c68      1
//   albedo                      c69      1
//   externalEdgeControlColor    c70      1
//   externalReflectMapScale     c71      1
//   weatherOffset               c72      1
//   weatherFactorRatio          c73      1
//   snowDiffuseUVScale          c74      1
//   modulateColor               c75      1
//   lightToneMap                s0       1
//   fuzzColorMap                s1       1
//   cubeReflectMap              s2       1
//   reflectBlurMap              s3       1
//   drawEnvCubeMap              s4       1
//   shadowMap                   s5       1
//   drawEnvCubeBlurMap          s6       1
//   edgeControlFuzzColorMap     s7       1
//   _sampler_diffuseColor       s8       1
//   _sampler_01                 s9       1
//   _sampler_specularColor      s10      1
//   _sampler_shininess          s11      1
//   weatherSnowDiffuseSampler00 s12      1
//
//
// Default values:
//
//   ambientLightColor
//     c37  = { 0, 0, 0, 0 };
//
//   fuzzPower
//     c41  = { 1, 0, 0, 0 };
//
//   backLightEdge
//     c42  = { -0.8, 0, 0, 0 };
//
//   scatterColor
//     c43  = { 1, 1, 1, 0 };
//
//   reverseRatio
//     c44  = { 1, 0, 0, 0 };
//
//   latitudeParam
//     c59  = { 1, 0, 1, 0 };
//
//   ambientColor
//     c60  = { 0, 0, 0, 0 };
//
//   specluarMaskingShadow
//     c61  = { 0, 0, 0, 0 };
//
//   fogColor
//     c62  = { 1, 1, 1, 0 };
//
//   reflectBlurMask
//     c63  = { 1, 0, 0, 0 };
//
//   drawEnvBlendRatio
//     c64  = { 1, 0, 0, 0 };
//
//   reflectScale
//     c65  = { 1, 1, 1, 0 };
//
//   fresnelBias
//     c66  = { 1, 0, 0, 0 };
//
//   fresnelInvDiffBias
//     c67  = { 0, 0, 0, 0 };
//
//   colorLimit
//     c68  = { 1, 0, 0, 0 };
//
//   albedo
//     c69  = { 0.5, 0, 0, 0 };
//
//   externalReflectMapScale
//     c71  = { 1, 0, 0, 0 };
//
//   weatherFactorRatio
//     c73  = { 1, 1, 1, 1 };
//
//   modulateColor
//     c75  = { 1, 1, 1, 1 };
//

    ps_3_0
    def c0, 0.949999988, 100, 1, 3
    def c1, 0.5, 0.429042995, 0.743125021, 0.886227012
    def c2, 0.247707993, 0.85808599, 1.02332795, -0.600000024
    def c3, 3.33333325, 0.899999976, 1, 0.800000012
    def c4, 0.100000001, 0.200000003, 0.300000012, 0.400000006
    def c5, 1, 0, 0.25, -0.125
    def c6, 0.298999995, 0.587000012, 0.114, 9.99999997e-007
    def c7, -9.99999975e-005, -13.2877121, 0.349999994, 1
    def c8, -0.5, 0.5, 0, 0
    dcl_texcoord_pp v0
    dcl_texcoord2 v1.z
    dcl_texcoord1 v2.xyz
    dcl_texcoord3 v3.xyz
    dcl_texcoord4 v4
    dcl_texcoord6_pp v5
    dcl_2d s0
    dcl_2d s1
    dcl_cube s2
    dcl_cube s3
    dcl_cube s4
    dcl_2d s5
    dcl_cube s6
    dcl_2d s7
    dcl_2d s8
    dcl_2d s9
    dcl_2d s10
    dcl_2d s11
    dcl_2d s12
    mov r0.yw, c1
    mul_pp r0.xyz, r0.y, c54
    add r1, -c58.xyzx, v2.xyzx
    dp3 r2.x, r1.yzww, r1.yzww
    rsq r2.x, r2.x
    mul r1, r1, r2.x
    nrm_pp r2.xyz, v3
    mad r1, r1, c1.x, r2.xyzx
    dp3 r2.w, r1.yzww, r1.yzww
    rsq r2.w, r2.w
    mul_pp r1, r1, r2.w
    mul_pp r3.xyz, r1.yzyw, r1.yzww
    mad_pp r1.x, r1.x, r1.x, -r3.x
    mul_pp r3.xyw, r3.y, c52.xyzz
    mul_pp r3.xyw, r3, c1.z
    mad_pp r0.xyz, r0, r1.x, r3.xyww
    mad_pp r0.xyz, c46, r0.w, r0
    mov r1.x, c2.x
    mad_pp r0.xyz, c52, -r1.x, r0
    mul_pp r3.xy, r1.z, r1.ywzw
    mul_pp r4.xyz, r3.y, c53
    mad_pp r3.yzw, c50.xxyz, r3.z, r4.xxyz
    mad_pp r3.xyz, c51, r3.x, r3.yzww
    mad_pp r0.xyz, r3, c2.y, r0
    mul_pp r3.xyz, r1.y, c47
    mad_pp r1.xyw, c49.xyzz, r1.w, r3.xyzz
    mad_pp r1.xyz, c48, r1.z, r1.xyww
    mad_pp r0.xyz, r1, c2.z, r0
    mul_pp r0.xyz, r0, c69.x
    mul_pp r0.xyz, r0, c45
    mov_sat_pp r1.xyz, c60
    mad_pp r0.xyz, r1, r1, r0
    mov_sat_pp r1.xyz, c37
    mad_pp r0.xyz, r1, r1, r0
    add_pp r0.w, c2.w, v0.w
    mul_sat_pp r0.w, r0.w, c3.x
    add_pp r0.w, -r0.w, c0.z
    mad_pp r0.w, r0.w, -c3.y, c3.z
    add_pp r1.x, -r0.w, c0.z
    mul_pp r1.yz, c74.xxyw, v4.xxyw
    texld_pp r3, r1.yzzw, s12
    max_pp r1.y, r3.w, c3.w
    mad r1.x, r3.w, r1.x, -r1.y
    mad_pp r0.w, r0.w, r1.x, r1.y
    mul_pp r0.w, r0.w, c72.w
    mul_pp r0.w, r0.w, c73.x
    mul_pp r1.xyz, r3, r0.w
    mov_sat_pp r1.xyz, r1
    texld_pp r4, v4, s8
    mad_pp r3.xyz, r3, r0.w, r4
    mad_pp r1.xyz, r4, -r1, r3
    nrm_pp r3.xyz, v5
    dp3 r0.w, r3, r2
    add r0.w, r0.w, r0.w
    mad_pp r4.xyz, r2, -r0.w, r3
    texld_pp r5, r4, s2
    texld_pp r6, r4, s3
    lrp_pp r7, c63.x, r5, r6
    texld_pp r5, r4, s4
    texld r6, r4, s6
    dp3_sat_pp r0.w, r4, -c39
    lrp_pp r4, c63.x, r5, r6
    lrp_pp r5, c64.x, r7, r4
    mul_pp r4.xyz, r5.w, r5
    mul_pp r4.xyz, r4, c65
    dp3_pp r1.w, -r3, r2
    dp3_pp r2.x, r2, -c39
    abs_sat_pp r2.y, r1.w
    mad_pp r5.x, r1.w, c8.x, c8.y
    add r1.w, -r2.y, c0.z
    mul r2.y, r1.w, r1.w
    mul r2.y, r2.y, r2.y
    mul_pp r1.w, r1.w, r2.y
    mov r2.z, c0.z
    lrp_sat_pp r3.w, r1.w, r2.z, c66.x
    texld r6, v4, s9
    mul_pp r1.w, r6.z, c0.w
    mul_pp r1.w, r3.w, r1.w
    add_pp r2.y, -r3.w, c67.x
    add_sat_pp r2.y, r2.y, c0.z
    mul_pp r1.w, r1.w, c71.x
    mul_pp r4.xyz, r4, r1.w
    mad_sat_pp r1.xyz, r1, r2.y, r4
    mul_pp r1.xyz, r1, r1
    mul_pp r0.xyz, r0, r1
    mul_sat_pp r1.w, r2.x, c5.w
    mad_pp r1.w, r1.w, c44.x, r2.x
    mov_sat_pp r2.y, -r1.w
    mov_pp r4.xyz, c40
    dp3_pp r2.w, r4, c6
    mul_pp r2.y, r2.y, r2.w
    mul_pp r2.y, r2.y, c44.x
    mad_sat_pp r2.y, r2.y, -c7.z, c7.w
    mul_pp r0.xyz, r0, r2.y
    mov_pp r4.xyz, c39
    mad_pp r4.xyz, r3, c42.x, -r4
    dp3_pp r2.y, r4, r3
    add_pp r3.x, -r2_abs.x, c0.z
    mov_sat_pp r2.x, r2.x
    max_pp r4.x, r3.x, c5.y
    mul_sat_pp r2.y, r2.y, r4.x
    mul_pp r3.xyz, r2.y, c43
    mul_pp r3.xyz, r3, c40
    mov_pp r4.x, c4.x
    add_pp r2.y, r4.x, c56.x
    add r2.y, r2.y, -v1.z
    mul r4, c32, v2.y
    mad r4, v2.x, c30, r4
    mad r4, v2.z, c34, r4
    add r4, r4, c36
    rcp r3.w, r4.w
    mul r4.xy, r4, r3.w
    add r6.xzw, r4.xyyz, c25.xyyz
    mul r7, c31, v2.y
    mad r7, v2.x, c29, r7
    mad r7, v2.z, c33, r7
    add r7, r7, c35
    rcp r3.w, r7.w
    mul r7.xy, r7, r3.w
    add r8.xyz, r7, c21
    cmp r6.xzw, r2.y, r8.xyyz, r6
    texld r8, r6.xzzw, s5
    add r2.y, -r6.w, r8.x
    cmp_pp r2.y, r2.y, c5.x, c5.y
    add r6.xzw, r4.xyyz, c26.xyyz
    add r8.xyz, r7, c22
    add_pp r3.w, c56.x, -v1.z
    add r9.xyz, r3.w, c4.yzww
    cmp r6.xzw, r9.x, r8.xyyz, r6
    texld r8, r6.xzzw, s5
    add r3.w, -r6.w, r8.x
    cmp_pp r3.w, r3.w, c5.x, c5.y
    add_pp r2.y, r2.y, r3.w
    add r6.xzw, r4.xyyz, c27.xyyz
    add r4.xyz, r4, c28
    add r8.xyz, r7, c23
    add r7.xyz, r7, c24
    cmp r4.xyz, r9.z, r7, r4
    cmp r6.xzw, r9.y, r8.xyyz, r6
    texld r7, r6.xzzw, s5
    add r3.w, -r6.w, r7.x
    cmp_pp r3.w, r3.w, c5.x, c5.y
    add_pp r2.y, r2.y, r3.w
    texld r7, r4, s5
    add r3.w, -r4.z, r7.x
    cmp_pp r3.w, r3.w, c5.x, c5.y
    add_pp r2.y, r2.y, r3.w
    mul_pp r3.w, r2.y, c5.z
    mad r2.y, r2.y, -c5.z, c5.x
    add_pp r4.x, -c55.x, v1.z
    mul_sat_pp r4.x, r4.x, c55.y
    mad_sat_pp r2.y, r4.x, r2.y, r3.w
    lrp_pp r3.w, c55.w, c55.z, r2.y
    add_pp r2.y, -r3.w, c0.z
    mad_pp r2.y, r2.y, -c57.w, r2.z
    add_pp r3.w, r2.z, -c38.x
    max_pp r4.x, r2.y, r3.w
    add_pp r3.w, r1.w, c0.z
    mul_sat_pp r1.w, r1.w, r4.x
    mul_pp r4.y, r4.x, r3.w
    mad r3.w, r3.w, -r4.x, r3.w
    mad_pp r3.w, r3.w, c4.y, r4.y
    add_pp r3.w, r3.w, -c0.z
    mad_pp r3.w, r3.w, c1.x, c1.x
    add_pp r7.x, -r3.w, c0.z
    mov r7.y, c1.x
    texld_pp r7, r7, s0
    lrp_pp r4.yzw, r6.y, r7.xxyz, r1.w
    mad_pp r3.xyz, c40, r4.yzww, r3
    mul_pp r3.xyz, r4.x, r3
    mad_pp r0.xyz, r3, r1, r0
    max_pp r1.xyz, r0, c6.w
    rsq_pp r0.x, r1.x
    rcp_pp r0.x, r0.x
    rsq_pp r1.x, r1.y
    rsq_pp r1.y, r1.z
    rcp_pp r0.z, r1.y
    rcp_pp r0.y, r1.x
    add r1.x, r0.w, c7.x
    log_pp r0.w, r0.w
    cmp_pp r0.w, r1.x, r0.w, c7.y
    texld r1, v4, s11
    mad_pp r1.x, r1.z, c0.y, c0.z
    mul_pp r0.w, r0.w, r1.x
    exp_pp r0.w, r0.w
    mul_pp r1.xyz, r0.w, c40
    mul_pp r1.xyz, r4.x, r1
    mul_pp r0.w, r2.x, r4.x
    dp2add_pp r0.w, r0.w, r2.w, c5.y
    texld r3, v4, s10
    mul_sat_pp r3.xyz, r3, c0.x
    mul_pp r3.xyz, r3, r3
    mul_pp r1.xyz, r1, r3
    lrp_sat_pp r1.w, r2.y, r2.z, c61.x
    mul_pp r1.xyz, r1, r1.w
    max_pp r2.xyz, r1, c6.w
    rsq_pp r1.x, r2.x
    rcp_pp r1.x, r1.x
    rsq_pp r1.w, r2.y
    rsq_pp r2.x, r2.z
    rcp_pp r1.z, r2.x
    rcp_pp r1.y, r1.w
    mul_pp r1.xyz, r1, v0
    mad_pp r0.xyz, v0, r0, r1
    mov r1.xyz, c6
    dp3_pp r1.x, c37, r1
    add_pp r0.w, r0.w, r1.x
    mov r5.y, c1.x
    texld_pp r1, r5, s1
    texld_pp r2, r5, s7
    mov_sat_pp r2.xyz, r2
    mul_pp r2.xyz, r2, v0
    mov_sat_pp r1.xyz, r1
    mul_pp r1.xyz, r1, v0
    mul_pp r1.xyz, r1, c41.x
    mad_pp r0.xyz, r1, r0.w, r0
    mad_pp r0.xyz, r2, c70, r0
    min_pp r1.xyz, c68.x, r0
    min_sat_pp r0.x, c62.w, v5.w
    lrp_pp r2.xyz, r0.x, c62, r1
    texld_pp r0, v4.zwzw, s9
    mov_pp r2.w, r0.x
    mul_pp r0, r2, c75
    mad_pp r0.xyz, r0, c59.x, c59.y
    mov_pp oC0.w, r0.w
    mul_pp oC0.xyz, r0, c59.z
	
	mov oC0.xyzw, c5.yyyy	

// approximately 231 instruction slots used (17 texture, 214 arithmetic)
 